Candle Counter [theEccentricTrader]█ OVERVIEW
This indicator counts the number of confirmed candle scenarios on any given candlestick chart and displays the statistics in a table, which can be repositioned and resized at the user's discretion.
█ CONCEPTS
Green and Red Candles
A green candle is one that closes with a high price equal to or above the price it opened.
A red candle is one that closes with a low price that is lower than the price it opened.
Upper Candle Trends
A higher high candle is one that closes with a higher high price than the high price of the preceding candle.
A lower high candle is one that closes with a lower high price than the high price of the preceding candle.
A double-top candle is one that closes with a high price that is equal to the high price of the preceding candle.
Lower Candle Trends
A higher low candle is one that closes with a higher low price than the low price of the preceding candle.
A lower low candle is one that closes with a lower low price than the low price of the preceding candle.
A double-bottom candle is one that closes with a low price that is equal to the low price of the preceding candle.
█ FEATURES
Inputs
Start Date
End Date
Position
Text Size
Show Sample Period
Show Plots
Table
The table is colour coded, consists of three columns and twenty-two rows. Blue cells denote all candle scenarios, green cells denote green candle scenarios and red cells denote red candle scenarios.
The candle scenarios are listed in the first column with their corresponding total counts to the right, in the second column. The last row in column one, row twenty-two, displays the sample period which can be adjusted or hidden via indicator settings.
Rows two and three in the third column of the table display the total green and red candles as percentages of total candles. Rows four to nine in column three, coloured blue, display the corresponding candle scenarios as percentages of total candles. Rows ten to fifteen in column three, coloured green, display the corresponding candle scenarios as percentages of total green candles. And lastly, rows sixteen to twenty-one in column three, coloured red, display the corresponding candle scenarios as percentages of total red candles.
Plots
I have added plots as a visual aid to the various candle scenarios listed in the table. Green up-arrows denote higher high candles when above bar and higher low candles when below bar. Red down-arrows denote lower high candles when above bar and lower low candles when below bar. Similarly, blue diamonds when above bar denote double-top candles and when below bar denote double-bottom candles. These plots can also be hidden via indicator settings.
█ HOW TO USE
This indicator is intended for research purposes and strategy development. I hope it will be useful in helping to gain a better understanding of the underlying dynamics at play on any given market and timeframe. It can, for example, give you an idea of any inherent biases such as a greater proportion of green candles to red. Or a greater proportion of higher low green candles to lower low green candles. Such information can be very useful when conducting top down analysis across multiple timeframes, or considering trailing stop loss methods.
What you do with these statistics and how far you decide to take your research is entirely up to you, the possibilities are endless.
This is just the first and most basic in a series of indicators that can be used to study objective price action scenarios and develop a systematic approach to trading.
█ LIMITATIONS
Some higher timeframe candles on tickers with larger lookbacks such as the DXY, do not actually contain all the open, high, low and close (OHLC) data at the beginning of the chart. Instead, they use the close price for open, high and low prices. So, while we can determine whether the close price is higher or lower than the preceding close price, there is no way of knowing what actually happened intra-bar for these candles. And by default candles that close at the same price as the open price, will be counted as green. You can avoid this problem by utilising the sample period filter.
The green and red candle calculations are based solely on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with. Alternatively, you can replace the scenarios with your own logic to account for the gap anomalies, if you are feeling up to the challenge.
It is also worth noting that the sample size will be limited to your Trading View subscription plan. Premium users get 20,000 candles worth of data, pro+ and pro users get 10,000, and basic users get 5,000. If upgrading is currently not an option, you can always keep a rolling tally of the statistics in an excel spreadsheet or something of the like.
Cari dalam skrip untuk " TABLE "
RSI Screener and Divergence [5ema]
Displayed on the RSI chart according to a custom timeframe.
Displays the RSI tracking table of various timeframes.
Identify normal divergence, hidden divergence on RSI chat.
Show buy and sell signals (strong, weak) on the board.
Send notifications when RSI has a buy or sell signal.
-----
I reused some functions, made by (i believe that):
©paaax : The table position function.
@everget : The RSI divergence function.
@QuantNomad : The function calculated value and array to show on table for input symbols.
I have commented in my code. Thanks so much!
-----
How it works:
1. Input :
input.int length of RSI => calculate RSI.
input.int upper/lower => checking RSI overbought/oversold.
input.int right bars / left bars => returns price of the pivot low & high point => checking divergence.
input.int range upper / lower bars => compare the low & high point => checking divergence.
input.timeframe => request.security another time frame.
input.string table position => display screener table.
2. Input bool:
plot RSI on chart.
Plot Regular Bullish divergence .
Regular Bearish divergence.
Hidden Bullish divergence .
Hidden Bearish divergence.
3. Basic calculated:
Make function for RSI , pivot low & high point of RSI and price.
Request.security that function for earch time frame.
Result RSI, Divergence.
4. Condition of signal:
Buy condition:
RSI oversold (1)
Bullish divergence (2).
=> Buy if (1) and (2), review buy (1) or (2).
Sell condition:
RSI overbought (3).
Bearish divergence (4).
=> Sell if (3) and (4), review sell (3) or (4).
5. Table screener:
Time frame.
RSI (green - oversold, red - overbought)
Divergence (⬈⬈ - regular bullish , ⬊⬊ regular bearish , ⬊ - hidden bullish , ⬈ - hidden bearish ).
Signal (🟢 - Buy, 🔴 - sell, green 〇 - review buy, red 〇 - review sell)
----
This indicator is for reference only, you need your own method and strategy.
If you have any questions, please let me know in the comments.
SUPER MULTI MOVING AVERAGE [Gabbo]📈 Moving Average Indicator Update - Version 2
🔹 New Features and Improvements:
1️⃣ Enhanced MA Selection for Table Lines:
Previously, the indicator did not allow users to choose a different Moving Average type for the table lines. Now, you can select the MA type for the table.
2️⃣ New Table Text Customization Inputs:
Added inputs to choose the table text color and size for a more personalized display.
3️⃣ Improved Input Visibility and Organization:
We’ve reorganized the inputs so that the most commonly used options are now placed at the beginning for quicker and more convenient configuration.
4️⃣ Bug Fixes and Code Improvements:
Minor bugs have been fixed, and the code has been optimized for improved stability and performance. The code is now cleaner and fully functional in version 6.
5️⃣ Cometreon Public Library Integration:
To lighten the code and improve modularity, we’ve integrated the Cometreon public library. This makes the code more efficient and reduces the need to duplicate common functions.
☄️ With this update, the Moving Average indicator becomes even more versatile and user-friendly, offering a refined table interface and enhanced customization options!
ConsoleLibrary "Console"
█ OVERVIEW
An easy way to output messages to a console like table using a a simple "print" function that can be called from anywhere in your code including functions.
█ Supports:
- Scrollable console messages
- Customisable number of displayed messages
- More than one "console" for different types of output if required
- The ability to choose which message to start viewing from (useful if the message list is long)
- The ability to place the console table at different positions on the chart to mitigate against
overwriting an existing table.
█ Limitations:
The "scrollbar" handle is actually a modified time widget handle. As the handle is grabbed and moved left or right across the chart bars, this script calculates the offset of the bar being pointed to from the last bar in the chart and uses that as the console message offset. However, It isn't possible to position this on the last chart bar with code.
So there are two solutions:
1) Manually change timestamp of the variable scrollStart to the current time (roughly)
eg. scrollStart = "25 Dec 2022 14:30 +0000"
2) Use a higher timeframe (Weeks or Months) and visually find the scroll bar. If it is to the right of the chart bars the console output will read NaN. Grab the handle and move it left and it will snap to the last chart candle position. If it is to the left then find it and move it to the right as needed.
█ Notes On Usage
- Import the library as console (the call will be console.print(...) )
- Assign a console variable name and call the console.initialise function
eg. var con1=console.initialise()
- Use the console.print() function to print a message or messages
This takes two parameters:
_consoleName :this is the console name you are printing to
_message: this is the message that you want to display. It is a string and can be built in the normal way using any pinescript string functions like str.tostring() etc
- Use the console.display function to display the messages.
To work as intended this display function should be placed at the last line with the following code
if i_showMessages
....if i_displayTable == "con1"
........display(con1, i_lineOffset, i_rowsToDisplay, i_gotoMsg, posn)
(More "consoles" can be written to and the example code provided with the library shows this in more detail. Also, the indents don't show in these notes)
Lastly, placement of a console.print() without a qualifying "if" statement will occur for every bar. This may be desired. If not then use under an if statement (example in the supplied code).
Happy debugging :)
-----------------------------------------------------------------------------------------------------------
initialise()
initialise: creates the message array
Parameters:
none :
Returns: message array: this is assigned to the "console" identifier
print(_consoleName, _message)
used to output the desired text string to the console
Parameters:
_consoleName : : the message array
_message : : the console message
Returns: none
display(_consoleName, _lineOffset, _rowsToDisplay, _gotoMsg, _posn)
display: placed in the last section of code. Displays the console messages
Parameters:
_consoleName : : the message array
_lineOffset : : the setting of the scroll bar (time widget)
_rowsToDisplay : : how many rows to show in the console table
_gotoMsg : : which message to display from (default is 0)
_posn : : where the console table will be displayed
Returns: none
Auto Support & Resistance With Wick Signals & Percentage GapsThis auto support and resistance indicator uses percentage deviations from the previous session close to calculate levels. It provides arrows as signals when it detects 2 wicks in the last 5 bars from a support or resistance level. Includes alerts for price crossing any level as well as real time percentage gaps from current price to the next closest support and resistance level. You also have the option to set up to 3 major levels of your own for any levels that are very important on longer timeframes that you want included. Those will show on the chart as well as within your percentage gap table with color coded background. All features can be customized or turned off to suit your preferences.
SOURCE
This indicator uses the previous session close as a source by default but can be adjusted to use the previous session high or the previous session low. I find the close setting to provide the most accurate levels.
SESSION
The default setting for the previous session used is the daily session but can be adjusted to use the daily, weekly, monthly, quarterly or yearly session. Use longer sessions when looking at longer time frame charts.
SIGNALS
The signals by default are set to only show an arrow if there have been 2 bullish or bearish wicks off of a support or resistance level in the last 5 bars. This can be changed to one bullish wick off of support and one bearish wick off of resistance or it can be set to give a signal anytime a bar crosses a support or resistance level. This can be controlled in the indicator settings.
PERCENTAGE DEVIATION LEVELS
The default percentage deviation is set to 1% but can and should be adjusted according to whatever ticker you are using. For example use .25% or .5% when looking at forex intraday charts since they are not as volatile as other markets. For leveraged etfs used 1% multiplied by the leverage on the etf, so for SQQQ use 3% as it is a 3x leveraged etf. When looking at longer timeframes or highly volatile charts, set the percentage deviation to 2%, 5%, 10%, etc.
LINE COLORS
The color of the lines will change from red to green depending on if the price is above or below that level. You can customize these colors in the settings.
MAJOR LEVELS
If you have major levels of support and resistance from longer timeframes and your own charting, you can add up to 3 major levels that will show on the chart as well as show the percentage gaps in the table. The label for each major level will be colored to match the color of the line on the chart individually.
PERCENTAGE GAP TABLE
The gap table will update live with percentages to go from current price to the next closest support and resistance levels so you don’t have to calculate them manually. The position of the percentage gap table can also be changed within the indicator settings.
TURN FEATURES ON/OFF
There are 3 toggle switches so you can easily turn on or off certain features such as: the support and resistance lines, the percentage gaps table and the arrow signals.
LINE WIDTHS
You can also set the line width of all levels and the line width of the starting level within the indicator settings.
***MARKETS***
This indicator can be used as a signal on all markets, including stocks, crypto, futures and forex.
***TIMEFRAMES***
This automatic support and resistance indicator can be used on all timeframes as long as there is enough data for the session used.
***TIPS***
Try using numerous indicators of ours on your chart so you can instantly see the bullish or bearish trend of multiple indicators in real time without having to analyze the data. Some of our favorites are our Volume Spike Scanner, Volume Profile, Momentum and Trend Friend in combination with this auto support and resistance indicator. They all have real time Bullish and Bearish labels as well so you can immediately understand each indicator's trend.
Volatility Adjusted Grid [Gann]█ OVERVIEW
Gann Square of 9 is one of the many brilliant concepts from W.D.Gann himself where it revolves around the idea that price is moving in a certain geometrical pattern. Numbers on the Square of 9 spiral tables, especially those lie in every 45degree in the chart act as key vibration levels where prices have tendency to react to (more on the table below).
There are few square of 9 related scripts here in Tradingview and while there's nothing wrong with them, it doesn't address 1 particular issue that i have: The numbers can be too rigid even when scaled based on current price because the levels are fixed, which makes them not tradable on certain timeframes depending on where the price currently sitting.
Heres 5min and 1hour Bitcoin chart to illustrate what i mean: Grey line on the left is based on Volatility Adjusted levels, while red/blue on the right are the standard Gann levels.
You can see that on 1hour chart, it provides a good levels (both Volatility Adjusted and the standard one happened to share the same multiplier in this case),
1Hour Chart:
On 5 min chart tells a different story as the range between blue/red levels can be deemed as to big for a short term trade, while the grey line is adjusted to suit that particular timeframe (You can still adjust to make it bigger/smaller from the settings, more on this below)
5Min Chart:
█ Little bit on Gann Square of 9 table
This is the square of nine table, the numbers highlighted in Red are known as Cardinal Cross and considered to be a major Support/Resistance while those in Blue color are known as Ordinal Cross considered as minor (but still important) Support/Resistance levels
Similarly, this script use these numbers (and certain multipliers) to print out the levels, with Cardinal numbers represented by solid lines and Ordinal numbers by dotted lines.
█ How it Works and Limitations
The Volatility Adjusted grid will go through several iterations of different multipliers to find the Gann number range that is at least bigger than times ATR. Because it's using ATR to determine the range, occasionally you'll notice that the line become smaller as ATR contracting (and vice versa). To overcome this, you can change the size range multiplier from the settings to retrieve the previous range size.
Use the size guide at the bottom left to find the multiplier that suits your need:
1st Row -> Previous Range -- Change Range Size to number lower than this to get a smaller range
2nd Row -> Next Range -- Change Range Size to number higher than this to get a larger range
Example:
Before:
After:
As you'll soon realise, the key here is to find the range that fits the historical structure and suits your own strategy. Enjoy :)
█ Disclaimer
Past performance is not an indicator of future results.
My opinions and research are my own and do not constitute financial advice in any way whatsoever.
Nothing published by me constitutes an investment recommendation, nor should any data or Content published by me be relied upon for any investment/trading activities.
I strongly recommends that you perform your own independent research and/or speak with a qualified investment professional before making any financial decisions.
Any ideas to further improve this indicator are welcome :)
Logging in Pine ScriptI'm building quite a lot of pretty complicated indicators/strategies in Pine Script. Quite often they don't work from the 1 try so I have to debug them heavily.
In Pine Script there are no fancy debuggers so you have to be creative. You can plot values on your screens, check them in the data window, etc.
If you want to display some textual information, you can plot some info as labels on the screen.
It's not the most convenient way, so with the appearance of tables in Pine Script, I decided to implement a custom logger that will allow me to track some useful information about my indicator over time.
Tables work much better for this kind of thing than labels. They're attached to your screen, you can nicely scale them and you can style them much better.
The idea behind it is very simple. I used few arrays to store the message, bar number, timestamp, and type of the message (you can color messages depend on the type for example).
There is a function log_msg that just append new messages to these arrays.
In the end, for the last bar, I create the table and display the last X messages in it.
In parameters, you can show/hide the entire journal, change the number of messages displayed and choose an offset. With offset, you can basically scroll through the history of messages.
Currently, I implemented 3 types of messages, and I color messages according to these types:
Message - gray
Warning - yellow
Error - red
Of course, it's a pretty simple example, you can create a much fancier way of styling your logs.
What do you think about it? Is it useful for you? What do you use to debug code in Pine Script?
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as good as in historical backtesting.
This post and the script don’t provide any financial advice.
Daily GAP StatsI did not write the script from scratch but rather started editing code of an existing one. The original code came from a script called GAP DETECTOR by @Asch-
First up: I am a trader, not a programmer and therefore my code most likely is inefficient. If someone with more expertise would like to help and optimize it - feel free to get in touch, I am always happy to learn some new tricks. :)
This script does 2 things:
- It shows daily gaps stats based on user inputs
- It shows color coded labels on gap days with additional information in tooltips ( important: make sure to read 'known issues/limitations' at the end )
User Inputs
==========
Although the input dialog is pretty straight forward, I do a quick rundown:
- Length: max lookback time
- Gap Direction: self explanatory
- Show All Gaps | Cont Only | Reversal Only | Off:
This refers to the way labels are displayed on gap days (again: make sure to read known issues/limitations!)
- Show All Gaps: does what it says
- Cont Only: only shows gaps where price continued in the gap direction. If you filter for gap ups and chose 'Cont only' you will only see labels on gap days where price closed above the open (and vice versa if you scan for gap downs).
- Reversal Only: you will only see labels for closes below the open on gap up days (and the opposite on gap down days)
- Off: self explanatory
- Gap Measure in ATR/PCT: self explanatory, ATR is calculated over a 10d period
- Gap Size (Abs Values): no negative values allowed here. If you filter for gap downs and enter 3 it means it will show gaps where the stock fell more than 3 ATR/PCT on the open.
- RVOL Factor: along with significant gaps should come significant volume. RVOL = volume of the gap day / 20d average volume
- Viewing Options: Placing the stats label in the window is a bit tricky (see knonw issues/limitations) and I was not sure which way I liked better. See for yourself what works best for you.
Known Isusses/Limitations:
=======================
- Positioning of the stats table:
As to my knowledge, Tradingview only allows label positioning relative to price and not relative to the chart window. I tried to always display the gap stats table in the upper right corner, using 52wk high as y-coordinate. This works ok most of the time, but is not pretty. If anybody has some fancy way to tag the label in a fixed position, please get in touch.
- Max number of labels per script:
TradingView has a limitation that allows a maxium of ~50 labels per script. If there are more labels, TradingView will automatically cut the oldest ones, without any notification. I have found this behaviour to be rather inconsistent - sometimes it'll dump labels even if there are a lot fewer than 50. Hopefully TradingView will drop this limitation at one point in the future.
Important: The inconsistent display of the gap day labels has NO INFLUENCE on the calculations in the gap stats table - the count and the calculations are complete and correct!
Adaptive Valuation [BackQuant]Adaptive Valuation
What this is
A composite, zero-centered oscillator that standardizes several classic indicators and blends them into one “valuation” line. It computes RSI, CCI, Demarker, and the Price Zone Oscillator, converts each to a rolling z-score, then forms a weighted average. Optional smoothing, dynamic overbought and oversold bands, and an on-chart table make the inputs and the final score easy to inspect.
How it works
Components
• RSI with its own lookback.
• CCI with its own lookback.
• DM (Demarker) with its own lookback.
• PZO (Price Zone Oscillator) with its own lookback.
Standardization via z-score
Each component is transformed using a rolling z-score over lookback bars:
z = (value − mean) ÷ stdev , where the mean is an EMA and the stdev is rolling.
This puts all inputs on a comparable scale measured in standard deviations.
Weighted blend
The z-scores are combined with user weights w_rsi, w_cci, w_dm, w_pzo to produce a single valuation series. If desired, it is then smoothed with a selected moving average (SMA, EMA, WMA, HMA, RMA, DEMA, TEMA, LINREG, ALMA, T3). ALMA’s sigma input shapes its curve.
Dynamic thresholds (optional)
Two ways to set overbought and oversold:
• Static : fixed levels at ob_thres and os_thres .
• Dynamic : ±k·σ bands, where σ is the rolling standard deviation of the valuation over dynLen .
Bands can be centered at zero or around the valuation’s rolling mean ( centerZero ).
Visualization and UI
• Zero line at 0 with gradient fill that darkens as the valuation moves away from 0.
• Optional plotting of band lines and background highlights when OB or OS is active.
• Optional candle and background coloring driven by the valuation.
• Summary table showing each component’s current z-score, the final score, and a compact status.
How it can be used
• Bias filter : treat crosses above 0 as bullish bias and below 0 as bearish bias.
• Mean-reversion context : look for exhaustion when the valuation enters the OB or OS region, then watch for exits from those regions or a return toward 0.
• Signal confirmation : use the final score to confirm setups from structure or price action.
• Adaptive banding : with dynamic thresholds, OB and OS adjust to prevailing variability rather than relying on fixed lines.
• Component tuning : change weights to emphasize trend (raise DM, reduce RSI/CCI) or range behavior (raise RSI/CCI, reduce DM). PZO can help in swing environments.
Why z-score blending helps
Indicators often live on different scales. Z-scoring places them on a common, unitless axis, so a one-sigma move in RSI has comparable influence to a one-sigma move in CCI. This reduces scale bias and allows transparent weighting. It also facilitates regime-aware thresholds because the dynamic bands scale with recent dispersion.
Inputs to know
• Component lookbacks : rsilb, ccilb, dmlb, pzolb control each raw signal.
• Standardization window : lookback sets the z-score memory. Longer smooths, shorter reacts.
• Weights : w_rsi, w_cci, w_dm, w_pzo determine each component’s influence.
• Smoothing : maType, smoothP, sig govern optional post-blend smoothing.
• Dynamic bands : dyn_thres, dynLen, thres_k, centerZero configure the adaptive OB/OS logic.
• UI : toggle the plot, table, candle coloring, and threshold lines.
Reading the plot
• Above 0 : composite pressure is positive.
• Below 0 : composite pressure is negative.
• OB region : valuation above the chosen OB line. Risk of mean reversion rises and momentum continuation needs evidence.
• OS region : mirror logic on the downside.
• Band exits : leaving OB or OS can serve as a normalization cue.
Strengths
• Normalizes heterogeneous signals into one interpretable series.
• Adjustable component weights to match instrument behavior.
• Dynamic thresholds adapt to changing volatility and drift.
• Transparent diagnostics from the on-chart table.
• Flexible smoothing choices, including ALMA and T3.
Limitations and cautions
• Z-scores assume a reasonably stationary window. Sharp regime shifts can make recent bands unrepresentative.
• Highly correlated components can overweight the same effect. Consider adjusting weights to avoid double counting.
• More smoothing adds lag. Less smoothing adds noise.
• Dynamic bands recalibrate with dynLen ; if set too short, bands may swing excessively. If too long, bands can be slow to adapt.
Practical tuning tips
• Trending symbols: increase w_dm , use a modest smoother like EMA or T3, and use centerZero dynamic bands.
• Choppy symbols: increase w_rsi and w_cci , consider ALMA with a higher sigma , and widen bands with a larger thres_k .
• Multiday swing charts: lengthen lookback and dynLen to stabilize the scale.
• Lower timeframes: shorten component lookbacks slightly and reduce smoothing to keep signals timely.
Alerts
• Enter and exit of Overbought and Oversold, based on the active band choice.
• Bullish and bearish zero crosses.
Use alerts as prompts to review context rather than as stand-alone trade commands.
Final Remarks
We created this to show people a different way of making indicators & trading.
You can process normal indicators in multiple ways to enhance or change the signal, especially with this you can utilise machine learning to optimise the weights, then trade accordingly.
All of the different components were selected to give some sort of signal, its made out of simple components yet is effective. As long as the user calibrates it to their Trading/ investing style you can find good results. Do not use anything standalone, ensure you are backtesting and creating a proper system.
Global Bond Yields Monitor [MarktQuant]Global Bond Yields Monitor
The Global Bond Yields Monitor is designed to help users track and compare government bond yields across major economies. It provides an at-a-glance view of short- and long-term interest rates for multiple countries, enabling users to observe shifts in global fixed-income markets.
Key Features:
Multi-Country Coverage: Includes major advanced and emerging economies such as the United States, China, Japan, Germany, United Kingdom, Canada, Australia, and more.
Multiple Maturities: Displays yields for the 2-year, 5-year, 10-year, and 30-year maturities (20-year for Russia).
Dynamic Yield Data: Plots real-time yields for the selected country directly from TradingView’s data sources.
Weekly Change Tracking: Calculates and displays the yield change from one week ago ( ) for each maturity.
Table Visualization: Option to display a compact data table showing current yields and weekly changes, color-coded for easier interpretation.
Visual Yield Curve Comparison: Plots yield lines for short- and long-term maturities, with shaded areas between curves for visual clarity.
Customizable Display: Choose table placement and whether to show or hide the weekly change table.
Use Cases
This script is intended for analysts, traders, and investors who want to monitor shifts in sovereign bond markets. Changes in yields can reflect adjustments in monetary policy expectations, inflation outlook, or broader macroeconomic trends.
❗Important Note❗
This indicator is for market monitoring and educational purposes only. It does not generate trading signals, and it should not be interpreted as financial advice. All data is sourced from TradingView’s available market feeds, and accuracy may depend on the source data.
Lorentzian Key Support and Resistance Level Detector [mishy]🧮 Lorentzian Key S/R Levels Detector
Advanced Support & Resistance Detection Using Mathematical Clustering
The Problem
Traditional S/R indicators fail because they're either subjective (manual lines), rigid (fixed pivots), or break when price spikes occur. Most importantly, they don't tell you where prices actually spend time, just where they touched briefly.
The Solution: Lorentzian Distance Clustering
This indicator introduces a novel approach by using Lorentzian distance instead of traditional Euclidean distance for clustering. This is groundbreaking for financial data analysis.
Data Points Clustering:
🔬 Why Euclidean Distance Fails in Trading
Traditional K-means uses Euclidean distance:
• Formula: distance = (price_A - price_B)²
• Problem: Squaring amplifies differences exponentially
• Real impact: One 5% price spike has 25x more influence than a 1% move
• Result: Clusters get pulled toward outliers, missing real support/resistance zones
Example scenario:
Prices: ← flash spike
Euclidean: Centroid gets dragged toward 150
Actual S/R zone: Around 100 (where prices actually trade)
⚡ Lorentzian Distance: The Game Changer
Our approach uses Lorentzian distance:
• Formula: distance = log(1 + (price_difference)² / σ²)
• Breakthrough: Logarithmic compression keeps outliers in check
• Real impact: Large moves still matter, but don't dominate
• Result: Clusters focus on where prices actually spend time
Same example with Lorentzian:
Prices: ← flash spike
Lorentzian: Centroid stays near 100 (real trading zone)
Outlier (150): Acknowledged but not dominant
🧠 Adaptive Intelligence
The σ parameter isn't fixed,it's calculated from market disturbance/entropy:
• High volatility: σ increases, making algorithm more tolerant of large moves
• Low volatility: σ decreases, making algorithm more sensitive to small changes
• Self-calibrating: Adapts to any instrument or market condition automatically
Why this matters: Traditional methods treat a 2% move the same whether it's in a calm or volatile market. Lorentzian adapts the sensitivity based on current market behavior.
🎯 Automatic K-Selection (Elbow Method)
Instead of guessing how many S/R levels to draw, the indicator:
• Tests 2-6 clusters and calculates WCSS (tightness measure)
• Finds the "elbow" - where adding more clusters stops helping much
• Uses sharpness calculation to pick the optimal number automatically
Result: Perfect balance between detail and clarity.
How It Works
1. Collect recent closing prices
2. Calculate entropy to adapt to current market volatility
3. Cluster prices using Lorentzian K-means algorithm
4. Auto-select optimal cluster count via statistical analysis
5. Draw levels at cluster centers with deviation bands
📊 Manual K-Selection Guide (Using WCSS & Sharpness Analysis)
When you disable auto-selection, use both WCSS and Sharpness metrics from the analysis table to choose manually:
What WCSS tells you:
• Lower WCSS = tighter clusters = better S/R levels
• Higher WCSS = scattered clusters = weaker levels
What Sharpness tells you:
• Higher positive values = optimal elbow point = best K choice
• Lower/negative values = poor elbow definition = avoid this K
• Measures the "sharpness" of the WCSS curve drop-off
Decision strategy using both metrics:
K=2: WCSS = 150.42 | Sharpness = - | Selected =
K=3: WCSS = 89.15 | Sharpness = 22.04 | Selected = ✓ ← Best choice
K=4: WCSS = 76.23 | Sharpness = 1.89 | Selected =
K=5: WCSS = 73.91 | Sharpness = 1.43 | Selected =
Quick decision rules:
• Pick K with highest positive Sharpness (indicates optimal elbow)
• Confirm with significant WCSS drop (30%+ reduction is good)
• Avoid K values with negative or very low Sharpness (<1.0)
• K=3 above shows: Big WCSS drop (41%) + High Sharpness (22.04) = Perfect choice
Why this works:
The algorithm finds the "elbow" where adding more clusters stops being useful. High Sharpness pinpoints this elbow mathematically, while WCSS confirms the clustering quality.
Elbow Method Visualization:
Traditional clustering problems:
❌ Price spikes distort results
❌ Fixed parameters don't adapt
❌ Manual tuning is subjective
❌ No way to validate choices
Lorentzian solution:
☑️ Outlier-resistant distance metric
☑️ Entropy-based adaptation to volatility
☑️ Automatic optimal K selection
☑️ Statistical validation via WCSS & Sharpness
Features
Visual:
• Color-coded levels (red=highest resistance, green=lowest support)
• Optional deviation bands showing cluster spread
• Strength scores on labels: Each cluster shows a reliability score.
• Higher scores (0.8+) = very strong S/R levels with tight price clustering
• Lower scores (0.6-0.7) = weaker levels, use with caution
• Based on cluster tightness and data point density
• Clean line extensions and labels
Analytics:
• WCSS analysis table showing why K was chosen
• Cluster metrics and statistics
• Real-time entropy monitoring
Control:
• Auto/manual K selection toggle
• Customizable sample size (20-500 bars)
• Show/hide bands and metrics tables
The Result
You get mathematically validated S/R levels that focus on where prices actually cluster, not where they randomly spiked. The algorithm adapts to market conditions and removes guesswork from level selection.
Best for: Traders who want objective, data-driven S/R levels without manual chart analysis.
Credits: This script is for educational purposes and is inspired by the work of @ThinkLogicAI and an amazing mentor @DskyzInvestments . It demonstrates how Lorentzian geometrical concepts can be applied not only in ML classification but also quite elegantly in clustering.
EPS+Sales+Net Profit+MCap+Sector & Industry📄 Full Description
This script displays a comprehensive financial data panel directly on your TradingView chart, helping long-term investors and swing traders make informed decisions based on fundamental trends. It consolidates key financial metrics and business classification data into a single, visually clear table.
🔍 Key Features:
🧾 Financial Metrics (Auto-Fetched via request.financial):
EPS (Earnings Per Share) – Displayed with trend direction (QoQ or YoY).
Sales / Revenue – In ₹ Crores (for Indian stocks), trend change also included.
Net Profit – Also in ₹ Crores, along with percentage change.
Market Cap – Automatically calculated using outstanding shares × price, shown in ₹ Cr.
Free Float Market Cap – Based on float shares × price, also in ₹ Cr.
🏷️ Sector & Industry Info:
Automatically identifies and displays the Sector and Industry of the stock using syminfo.sector and syminfo.industry.
Displayed inline with metrics, making it easy to know what business the stock belongs to.
📊 Table View:
Compact and responsive table shown on your chart.
Columns: Date | EPS | QoQ | Sales | QoQ | Net Profit | QoQ | Metrics
Metrics column dynamically shows:
Market Cap
Free Float
Sector (Row 4)
Industry (Row 5)
🌗 Appearance:
Supports Dark Mode and Mini Mode toggle.
You can also customize:
Number of data points (last 4+ quarters or years)
Table position and size
🎯 Use Case:
This script is ideal for:
Fundamental-focused traders who use EPS/Sales trends to identify momentum.
Swing traders who combine price action with fundamental tailwinds.
Portfolio builders who want to see sector/industry alignment quickly.
It works best with fundamentally sound stocks where earnings and profitability are a major factor in price movements.
✅ Important Notes:
Script uses request.financial which only works with supported symbols (mostly stocks).
Market Cap and Free Float are calculated in ₹ Crores.
All financial values are rounded and formatted for readability (e.g., 1,234 Cr).
🙏 Credits:
Developed and published by Sameer Thorappa
Built with a clean, minimalist approach for high readability and functionality.
9:45am NIFTY TRADINGTime Frame: 15 Minutes | Reference Candle Time: 9:45 AM IST | Valid Trading Window: 3 Hours
📌 Introduction
This document outlines a structured trading strategy for NIFTY & BANKNIFTY Options based on a 15-minute timeframe with a 9:45 AM IST reference candle. The strategy incorporates technical indicators, probability analysis, and strict trading rules to optimize entries and exits.
📊 Core Features
1. Reference Time Trading System
9:45 AM IST Candle acts as the reference for the day.
All signals (Buy/Sell/Reversal) are generated based on price action relative to this candle.
The valid trading window is 3 hours after the reference candle.
2. Signal Generation Logic
Signal Condition
Buy (B) Price breaks above reference candle high with confirmation
Sell (S) Price breaks below reference candle low with confirmation
Reversal (R) Early trend reversal signal (requires strict confirmation)
3. Probability Analysis System
The strategy calculates Win Probability (%) using 4 components:
Component Weight Calculation
Body Win Probability 30% Based on candle body strength (body % of total range)
Volume Win Probability 30% Current volume vs. average volume strength
Trend Win Probability 40% EMA crossover + RSI momentum alignment
Composite Probability - Weighted average of all 3 components
Probability Color Coding:
🟢 Green (High Probability): ≥70%
🟠 Orange (Medium Probability): 50-69%
🔴 Red (Low Probability): <50%
4. Timeframe Enforcement
Strictly 15-minute charts only (no other timeframes allowed).
System auto-disables signals if the wrong timeframe is selected.
📈 Technical Analysis Components
1. EMA System (Trend Analysis)
Short EMA (9) – Fast trend indicator
Middle EMA (20) – Intermediate trend
Long EMA (50) – Long-term trend confirmation
Rules:
Buy Signal: Price > 9 EMA > 20 EMA > 50 EMA (Bullish trend)
Sell Signal: Price < 9 EMA < 20 EMA < 50 EMA (Bearish trend)
2. Multi-Timeframe RSI (Momentum)
5M, 15M, 1H, 4H, Daily RSI values are compared for divergence/confluence.
Overbought (≥70) / Oversold (≤30) conditions help in reversal signals.
3. Volume Analysis
Volume Strength (%) = (Current Volume / Avg. Volume) × 100
Strong Volume (>120% Avg.) confirms breakout/breakdown.
4. Body Percentage (Candle Strength)
Body % = (Close - Open) / (High - Low) × 100
Strong Bullish Candle: Body > 60%
Strong Bearish Candle: Body < 40%
📊 Visual Elements
1. Information Tables
Reference Data Table (9:45 AM Candle High/Low/Close)
RSI Values Table (5M, 15M, 1H, 4H, Daily)
Signal Legend (Buy/Sell/Reversal indicators)
2. Chart Overlays
Reference Lines (9:45 AM High & Low)
EMA Lines (9, 20, 50)
Signal Labels (B, S, R)
3. Color Coding
High Probability (Green)
Medium Probability (Orange)
Low Probability (Red)
⚠️ Important Usage Guidelines
✅ Best Practices:
Trade only within the 3-hour window (9:45 AM - 12:45 PM IST).
Wait for confirmation (closing above/below reference candle).
Use probability score to filter high-confidence trades.
❌ Avoid:
Trading outside the 15-minute timeframe.
Ignoring volume & RSI divergence.
Overtrading – Stick to 1-2 high-probability setups per day.
🎯 Conclusion
This NIFTY Trading Strategy is optimized for 15-minute charts with a 9:45 AM IST reference candle. It combines EMA trends, RSI momentum, volume analysis, and probability scoring to generate high-confidence signals.
🚀 Key Takeaways:
✔ Reference candle defines the day’s bias.
✔ Probability system filters best trades.
✔ Strict 15M timeframe ensures consistency.
Happy Trading! 📈💰
Rifle UnifiedThis script is designed for use on 30-second charts of Dow Jones-related symbols (YM, MYM, US30). It provides automated buy and sell signals using a combination of price action, RSI (Relative Strength Index), and volume analysis. The script is intended for both live trading signals and backtesting, with configurable risk management and debugging features.
Core Functionality
1. Signal Generation Logic
Trigger: The algorithm looks for a sharp price move (drop or rise) of a user-defined threshold (default: 80 points) within a specified lookback window (default: 20 minutes).
Levels: It monitors for price drops below specific numerical levels ending in 23, 43, or 73 (e.g., 42223, 42273).
RSI Condition: When price falls below one of these levels and the RSI is below 30, the setup is considered active.
Buy Signal: A buy is triggered if, after setup:
Price rises back above the level,
The RSI rate of change (ROC) indicates exhaustion of the drop,
The current bar shows positive momentum.
2. Trade Management
Stop Loss & Take Profit: Configurable fixed or trailing stop loss and take profit levels are plotted and managed automatically.
Exit Signals: The script signals exit based on price action relative to these risk management levels.
3. Filters & Enhancements
Parabolic Move Filter: Prevents entries during extreme price moves.
Dead Cat Bounce Filter: Avoids false signals after sharp reversals.
Volume Filter: Optionally requires volume conditions for trade entries (especially for shorts).
Multiple Confirmation Layers : Includes checks for 5-minute RSI, momentum, and price retracement.
User Inputs & Customization
Trade Direction: Toggle between LONG and SHORT signal generation.
Trigger Settings: Adjust thresholds for price moves, lookback windows, RSI ROC, and volume requirements.
Trade Settings: Set take profit, stop loss, and trailing stop behavior.
Debug & Visualization: Enable or disable various plots, labels, and debug tables for in-depth analysis.
Backtesting: Integrated backtester with summary and detailed statistics tables.
Technical Features
Uses External Libraries: Relies on RifleShooterLib for core logic and BackTestLib for backtesting and statistics.
Multi-timeframe Analysis: Incorporates both 30-second and 5-minute RSI calculations.
Chart Annotations: Plots entry/exit points, risk levels, and debug information directly on the chart.
Alert Conditions: Built-in alert triggers for key events (initial move, stall, entry).
Intended Use
Markets: Dow Jones symbols (YM, MYM, US30, or US30 CFD).
Timeframe: 30-second chart.
Purpose: Automated signal generation for discretionary or algorithmic trading, with robust risk management and backtesting support.
Notable Customization & Extension Points
Momentum Calculation: Plans to replace the current momentum measure with "sqz momentum".
Displacement Logic: Future update to use "FVG concept" for displacement.
High-Contrast RSI: Optional visual enhancements for RSI extremes.
Time-based Stop: Consideration for adding a time-based stop mechanism.
This script is highly modular, with extensive user controls, and is suitable for both live trading and historical analysis of Dow Jones index movements
Statistical Pairs Trading IndicatorZ-Score Stat Trading — Statistical Pairs Trading Indicator
📊🔗
---
What is it?
Z-Score Stat Trading is a powerful indicator for statistical pairs trading and quantitative analysis of two correlated assets.
It calculates the Z-Score of the log-price spread between any two symbols you choose, providing both long-term and short-term Z-Score signals.
You’ll also see real-time correlation, volatility, spread, and the number of long/short signals in a handy on-chart table!
---
How to Use 🛠️
1. Add the indicator to your chart.
2. Select two assets (symbols) to analyze in the settings.
3. Watch the Z-Score plots (blue and orange lines) and threshold levels (+2, -2 by default).
4. Check the info table for:
- Correlation
- Volatility
- Spread
- Number of long (NL) and short (NS) signals in the last 1000 bars
5. Set up alerts for signal generation or threshold crossings if you want to be notified automatically.
---
Trading Strategy 💡
- This indicator is designed for statistical arbitrage (mean reversion) strategies.
- Long Signal (🟢):
When both Z-Scores drop below the negative threshold (e.g., -2), a long signal is generated.
→ Buy Symbol A, Sell Symbol B, expecting the spread to revert to the mean.
- Short Signal (🔴):
When both Z-Scores rise above the positive threshold (e.g., +2), a short signal is generated.
→ Sell Symbol A, Buy Symbol B, again expecting mean reversion.
- The info table helps you quickly assess the frequency of signals and the current statistical relationship between your chosen assets.
---
Best Practices & Warnings 🚦
- Avoid high leverage! Pairs trading can be risky, especially during periods of divergence. Use conservative position sizing.
- Check for cointegration: Before using this indicator, make sure both assets are cointegrated or have a strong historical relationship. This increases the reliability of mean reversion signals.
- Check correlation: Only use asset pairs with a high correlation (preferably 0.8–0.9 or higher) for best results. The correlation value is shown in the info table.
- Scale in and out gradually: When entering or exiting positions, consider doing so in parts rather than all at once. This helps manage slippage and risk, especially in volatile markets.
---
⚠️ Note on Performance:
This indicator may work a bit slowly, especially on large timeframes or long chart histories, because the calculation of NL and NS (number of long/short signals) is computationally intensive.
---
Disclaimer ⚠️
This script is provided for educational and informational purposes only .
It is not financial advice or a recommendation to buy or sell any asset.
Use at your own risk. The author assumes no responsibility for any trading decisions or losses.
SBC ProtfoSBC Portfo PNL Indicator
Description
The SBC Portfo PNL Indicator is a user-friendly tool designed for Hebrew-speaking traders to track the Profit and Loss (PNL) of their stock portfolios on TradingView charts. It supports up to 5 distinct portfolios, each capable of holding an unlimited number of stocks with unlimited buy commands, allowing real-time monitoring of portfolio performance.
Key Features
- Multi-Portfolio Support: Track up to 5 separate portfolios for different trading strategies or accounts.
- Unlimited Stock Entries: Add unlimited stocks and buy commands per portfolio.
- Detailed Buy Commands: Input for each stock:
- Stock Ticker (e.g., AAPL, TSLA).
- Buy Price (e.g., 150.25).
- Buy Amount (e.g., 10).
- Hebrew-Friendly Interface: Intuitive settings dialog with clear instructions in Hebrew.
- Customizable PNL Tracking: Visualize PNL on charts with real-time updates based on market data.
How to Use
1. Add the Indicator:
- Go to the Indicators menu in TradingView and add the "SBC Portfo" PNL Indicator.
2. Configure Portfolios:
- Open the indicator’s settings dialog.
- For each portfolio (up to 5), enter data in the provided input fields using this format:
PortfolioName:StockTicker:BuyPricexBuyAmount;StockTicker:BuyPricexBuyAmount
Example:
Portfolio1:AAPL:150.25x10;TSLA:266.72x5
- This represents a portfolio named "Portfolio1" with:
- 10 shares of AAPL bought at $150.25.
- 5 shares of TSLA bought at $266.72.
- Repeat for additional portfolios (e.g., Portfolio2, Portfolio3).
- Add multiple buy commands for the same stock if needed (e.g., AAPL:160.50x20).
3. Apply Settings:
- Save settings to display PNL based on current market prices.
4. Monitor PNL:
- View PNL for each portfolio on the chart via tables, labels, or graphical overlays (based on settings).
Input Format
Enter portfolio data manually in the settings dialog, one input field per portfolio:
PortfolioName:StockTicker:BuyPricexBuyAmount;StockTicker:BuyPricexBuyAmount
- PortfolioName: Unique name (e.g., Portfolio1, Growth).
- StockTicker: Stock symbol (e.g., AAPL).
- BuyPrice: Purchase price per share (e.g., 150.25).
- BuyAmount: Number of shares (e.g., 10).
- Use
: to separate portfolio name, ticker, and buy data
x to separate price and amount
; for multiple stocks in the portfolio
Example:
- Portfolio 1: GrowthPortfolio:AAPL:150.25x10;TSLA:266.72x5
- Portfolio 2: DividendPortfolio:KO:55.20x50;PG:145.30x30
Notes
- Hebrew Support: Settings and labels are optimized for Hebrew users.
- Manual Input: Enter portfolio data manually in the settings dialog using the correct format.
- Compatibility: Works with any stock ticker supported by TradingView.
תיאור אינדיקטור SBC Portfo PNL הוא כלי ידידותי למשתמש שתוכנן במיוחד עבור סוחרים דוברי עברית למעקב אחר רווח והפסד (PNL) של תיקי המניות שלהם ישירות בגרפים של TradingView. הוא תומך בעד 5 תיקים נפרדים, כאשר כל תיק יכול להכיל מספר בלתי מוגבל של מניות עם פקודות קנייה בלתי מוגבלות, ומאפשר מעקב בזמן אמת אחר ביצועי התיק.
תכונות עיקריות
- תמיכה בריבוי תיקים: מעקב אחר עד 5 תיקים נפרדים עבור אסטרטגיות מסחר או חשבונות שונים.
- רישום מניות ללא הגבלה: הוספת מספר בלתי מוגבל של מניות ופקודות קנייה לכל תיק.
- פקודות קנייה מפורטות: הזנת נתונים עבור כל מניה:
- סימול המניה (למשל, AAPL, TSLA).
- מחיר קנייה (למשל, 150.25).
- כמות קנייה (למשל, 10).
- ממשק ידידותי לעברית: חלונית הגדרות אינטואיטיבית עם הוראות ברורות בעברית.
- מעקב PNL הניתן להתאמה: הצגת רווח והפסד בגרפים עם עדכונים בזמן אמת בהתבסס על נתוני השוק.
כיצד להשתמש
1. הוספת האינדיקטור:
- נווט לתפריט האינדיקטורים ב-TradingView והוסף את "SBC Portfo PNL Indicator".
2. הגדרת תיקים:
- פתח את חלונית ההגדרות של האינדיקטור.
- עבור כל תיק (עד 5), הזן נתונים בשדות המסופקים בפורמט הבא:
PortfolioName:StockTicker:BuyPricexBuyAmount;StockTicker:BuyPricexBuyAmount
לדוגמה:
Portfolio1:AAPL:150.25x10;TSLA:266.72x5
שורה זו מייצגת תיק בשם "Portfolio1" עם:
- 10 מניות של AAPL שנקנו ב-$150.25.
- 5 מניות של TSLA שנקנו ב-$266.72.
- חזור על התהליך עבור תיקים נוספים (למשל, Portfolio2, Portfolio3).
- ניתן להוסיף פקודות קנייה מרובות לאותה מניה לפי הצורך (למשל, AAPL:160.50x20).
3. החלת ההגדרות:
- שמור את ההגדרות להצגת ה-PNL בהתבסס על מחירי השוק הנוכחיים.
4. מעקב אחר PNL:
- צפה ב-PNL עבור כל תיק בגרף באמצעות טבלאות, תוויות או שכבות גרפיות (בהתאם להגדרות).
פורמט קלט הזן נתוני תיק ידנית בחלונית ההגדרות, שדה קלט אחד לכל תיק: PortfolioName:StockTicker:BuyPricexBuyAmount;StockTicker:BuyPricexBuyAmount
PortfolioName: שם ייחודי (למשל, Portfolio1, Growth).
StockTicker: סימול המניה (למשל, AAPL).
BuyPrice: מחיר רכישה למניה (למשל, 150.25).
BuyAmount: מספר המניות (למשל, 10).
השתמש ב-
: להפרדה בין שם התיק, סימול ונתוני קנייה
x להפרדה בין מחיר וכמות
; להפרדה בין מניות מרובות
דוגמה:
- תיק 1: GrowthPortfolio:AAPL:150.25x10;TSLA:266.72x5
- תיק 2: DividendPortfolio:KO:55.20x50;PG:145.30x30
Release Notes
Version 1.1 includes:
- Calculations for extended hours (Pre-Market & After-Hours).
- Option to display portfolio summary data for stocks not in the portfolio (enable via settings checkbox).
- Table background for better visibility; click to bring table to the front.
- Updated text strings (names, titles, tooltips).
הערות
תמיכה בעברית: ההגדרות והתוויות מותאמות למשתמשים דוברי עברית.
הזנה ידנית: הזן נתוני תיק ידנית בחלונית ההגדרות תוך שימוש בפורמט הנכון.
תאימות: עובד עם כל סימול מניה הנתמך על ידי TradingView.
גרסה 1.1 מכילה:
1. חישובים כוללים שעות מסחר מורחבות (Pre-Market ו-After-Hours).
2. אפשרות להציג נתוני תיק כוללים עבור מניות שאינן בתיק (הפעל באמצעות תיבת סימון בהגדרות).
3. צבע רקע לטבלה לשיפור הנראות; לחיצה על הטבלה מביאה אותה לחזית.
4. תיקון נוסחים (שמות, כותרות, וטולטיפים).
EMA Price Range by tuanduongEMA Price Range Indicator – Dynamic Range Analysis with Custom EMA (tuanduong2511)
Overview
The EMA Price Range Indicator is designed to help traders visualize the distance between price action and a key Exponential Moving Average (EMA). This indicator dynamically calculates the range from each candle to a user-defined EMA and displays it in a real-time table. By understanding the relationship between price and the EMA, traders can better gauge potential support, resistance, and overextension in the market.
Key Features
✅ Customizable EMA – Allows users to choose the EMA period that best suits their strategy (default: 144).
✅ Real-Time Range Calculation – Computes the absolute difference between the EMA and the price (using the high or low, depending on whether the candle is above or below the EMA).
✅ Minimalist UI – The EMA is plotted directly on the chart, while a small table in the bottom-right corner provides numerical insights, reducing chart clutter.
✅ Versatile Use Cases – Suitable for trend-following traders (identifying pullbacks to EMA) and mean-reversion traders (spotting extended price movements).
How It Works
User-Defined EMA:
The script calculates an Exponential Moving Average (EMA) based on the selected period.
EMA adapts dynamically, giving more weight to recent price movements.
Range Calculation:
If the price is above the EMA, the range is measured from the high point of the candle to the EMA.
If the price is below the EMA, the range is measured from the low point of the candle to the EMA.
This approach ensures that we’re measuring the most relevant distance for price interaction.
Live Table Display:
The current EMA value and the distance (range) from the price are displayed in a small table in the bottom-right corner of the chart.
How to Use It
📌 Trend Traders: Use the indicator to track pullbacks to key EMAs (e.g., EMA 50, 144, or 200). When the price is far from the EMA, it may indicate an overextended trend or potential retracement zone.
📌 Mean Reversion Traders: Look for extreme deviations between price and the EMA. Large distances can signal potential price snapbacks to the mean.
📌 Scalping & Day Trading: Short-term traders can use it with fast EMAs (e.g., EMA 21 or 34) to measure quick price movements relative to short-term momentum.
Why This Indicator?
Unlike traditional EMA indicators, which only plot a moving average, this script provides quantifiable price distance to the EMA, helping traders make data-driven decisions. It allows traders to answer:
✅ Is the price stretched too far from the EMA?
✅ Should I wait for a pullback before entering?
✅ Is the trend strong, or is the price losing momentum?
By integrating EMA-based range analysis, traders gain a clearer understanding of market conditions and can improve their entry, exit, and risk management strategies.
Trading Capital Management for Option SellingTrading Capital Management for Option Selling
This Pine Script indicator helps manage trading capital allocation for option selling strategies based on price percentile ranking. It provides dynamic allocation recommendations for index options (NIFTY and BANKNIFTY) and individual stock positions.
Key Features:
- Dynamic buying power (BP) allocation based on close price percentile
- Flexible index allocation between NIFTY and BANKNIFTY
- Automated calculation of recommended number of stock positions
- Risk management through position size limits
- Real-time INDIA VIX monitoring
Main Parameters:
1. Window Length: Period for percentile calculation (default: 252 days)
2. Thresholds: Low (30%) and High (70%) percentile thresholds
3. Capital Settings:
- Trading Capital: Total capital available
- Max BP% per Stock: Maximum allocation per stock position
4. Buying Power Range:
- Low Percentile BP%: Base BP usage at low percentile
- High Percentile BP%: Maximum BP usage at high percentile
5. Index Allocation:
- NIFTY/BANKNIFTY split ratio
- Minimum and maximum allocation thresholds
Display:
The indicator shows two tables:
1. Common Metrics:
- Total BP Usage with percentage
- Current INDIA VIX value
- Current Close Price Percentile
2. Capital Allocation:
- Index-wise BP allocation (NIFTY and BANKNIFTY)
- Stock allocation pool
- Recommended number of stock positions with BP per stock
Usage:
This indicator helps traders:
1. Scale positions based on market conditions using price percentile
2. Maintain balanced exposure between indices and stocks
3. Optimize capital utilization while managing risk
4. Adjust position sizing dynamically with market volatility
Ragi's 24h volumeThis script is a TradingView Pine Script indicator that displays the 24-hour trading volume for a given asset. It provides both the native volume of the asset and, if the asset is not already listed on Binance, also displays the 24-hour volume from Binance (if applicable). Here's a breakdown of the key components:
Volume Calculation:
It sums the volume data over different time frames: 1-minute, 5-minute (for daily charts), or 60-minute intervals.
The volume is calculated based on the asset's volume type (either "quote" volume or a calculated value of close * volume).
For crypto assets, if the volume data is unavailable, it raises an error.
Binance Volume:
If the asset is not from Binance, the script fetches 24-hour volume data from Binance for that symbol, ensuring it is using the correct currency rate.
Display:
The indicator displays a table with the 24-hour volume in the chosen position on the chart (top, middle, or bottom).
The table displays the current exchange's volume, and if applicable, the Binance volume.
The volume is color-coded based on predefined thresholds:
Attention: Displays a warning color for volumes exceeding the attention level.
Warning: Shows an alert color for volumes above the warning threshold.
Normal: Displays in standard color when the volume is lower than the warning level.
The text and background color are customizable, and users can adjust the text size and position of the table.
User Inputs:
The script allows customization of table text size, position, background color, and volume thresholds for attention and warning.
In summary, this indicator is designed to track and display 24-hour volume on a chart, with additional volume information from Binance if necessary, and provides visual cues based on volume levels to help traders quickly assess trading activity.
NVOL Normalized Volume & VolatilityOVERVIEW
Plots a normalized volume (or volatility) relative to a given bar's typical value across all charted sessions. The concept is similar to Relative Volume (RVOL) and Average True Range (ATR), but rather than using a moving average, this script uses bar data from previous sessions to more accurately separate what's normal from what's anomalous. Compatible on all timeframes and symbols.
Having volume and volatility processed within a single indicator not only allows you to toggle between the two for a consistent data display, it also allows you to measure how correlated they are. These measurements are available in the data table.
DATA & MATH
The core formula used to normalize each bar is:
( Value / Basis ) × Scale
Value
The current bar's volume or volatility (see INPUTS section). When set to volume, it's exactly what you would expect (the volume of the bar). When set to volatility, it's the bar's range (high - low).
Basis
A statistical threshold (Mean, Median, or Q3) plus a Sigma multiple (standard deviations). The default is set to the Mean + Sigma × 3 , which represents 99.7% of data in a normal distribution. The values are derived from the current bar's equivalent in other sessions. For example, if the current bar time is 9:30 AM, all previous 9:30 AM bars would be used to get the Mean and Sigma. Thus Mean + Sigma × 3 would represent the Normal Bar Vol at 9:30 AM.
Scale
Depends on the Normalize setting, where it is 1 when set to Ratio, and 100 when set to Percent. This simply determines the plot's scale (ie. 0 to 1 vs. 0 to 100).
INPUTS
While the default configuration is recommended for a majority of use cases (see BEST PRACTICES), settings should be adjusted so most of the Normalized Plot and Linear Regression are below the Signal Zone. Only the most extreme values should exceed this area.
Normalize
Allows you to specify what should be normalized (Volume or Volatility) and how it should be measured (as a Ratio or Percentage). This sets the value and scale in the core formula.
Basis
Specifies the statistical threshold (Mean, Median, or Q3) and how many standard deviations should be added to it (Sigma). This is the basis in the core formula.
Mean is the sum of values divided by the quantity of values. It's what most people think of when they say "average."
Median is the middle value, where 50% of the data will be lower and 50% will be higher.
Q3 is short for Third Quartile, where 75% of the data will be lower and 25% will be higher (think three quarters).
Sample
Determines the maximum sample size.
All Charted Bars is the default and recommended option, and ignores the adjacent lookback number.
Lookback is not recommended, but it is available for comparisons. It uses the adjacent lookback number and is likely to produce unreliable results outside a very specific context that is not suitable for most traders. Normalization is not a moving average. Unless you have a good reason to limit the sample size, do not use this option and instead use All Charted Bars .
Show Vol. name on plot
Overlays "VOLUME" or "VOLATILITY" on the plot (whichever you've selected).
Lin. Reg.
Polynomial regressions are great for capturing non-linear patterns in data. TradingView offers a "linear regression curve", which this script uses as a substitute. If you're unfamiliar with either term, think of this like a better moving average.
You're able to specify the color, length, and multiple (how much to amplify the value). The linear regression derives its value from the normalized values.
Norm. Val.
This is the color of the normalized value of the current bar (see DATA & MATH section). You're able to specify the default, within signal, and beyond signal colors. As well as the plot style.
Fade in colors between zero and the signal
Programmatically adjust the opacity of the primary plot color based on it's normalized value. When enabled, values equal to 0 will be fully transparent, become more opaque as they move away from 0, and be fully opaque at the signal. Adjusting opacity in this way helps make difference more obvious.
Plot relative to bar direction
If enabled, the normalized value will be multiplied by -1 when a bar's open is greater than the bar's close, mirroring price direction.
Technically volume and volatility are directionless. Meaning there's really no such thing as buy volume, sell volume, positive volatility, or negative volatility. There is just volume (1 buy = 1 sell = 1 volume) and volatility (high - low). Even so, visually reflecting the net effect of pricing pressure can still be useful. That's all this setting does.
Sig. Zone
Signal zones make identifying extremes easier. They do not signal if you should buy or sell, only that the current measurement is beyond what's normal. You are able to adjust the color and bounds of the zone.
Int. Levels
Interim levels can be useful when you want to visually bracket values into high / medium / low. These levels can have a value anywhere between 0 and 1. They will automatically be multiplied by 100 when the scale is set to Percent.
Zero Line
This setting allows you to specify the visibility of the zero line to best suit your trading style.
Volume & Volatility Stats
Displays a table of core values for both volume and volatility. Specifically the actual value, threshold (mean, median, or Q3), sigma (standard deviation), basis, normalized value, and linear regression.
Correlation Stats
Displays a table of correlation statistics for the current bar, as well as the data set average. Specifically the coefficient, R2, and P-Value.
Indices & Sample Size
Displays a table of mixed data. Specifically the current bar's index within the session, the current bar's index within the sample, and the sample size used to normalize the current bar's value.
BEST PRACTICES
NVOL can tell you what's normal for 9:30 AM. RVOL and ATR can only tell you if the current value is higher or lower than a moving average.
In a normal distribution (bell curve) 99.7% of data occurs within 3 standard deviations of the mean. This is why the default basis is set to "Mean, 3"; it includes the typical day-to-day fluctuations, better contextualizing what's actually normal, minimizing false positives.
This means a ratio value greater than 1 only occurs 0.3% of the time. A series of these values warrants your attention. Which is why the default signal zone is between 1 and 2. Ratios beyond 2 would be considered extreme with the default settings.
Inversely, ratio values less than 1 (the normal daily fluctuations) also tell a story. We should expect most values to occur around the middle 3rd, which is why interim levels default to 0.33 and 0.66, visually simplifying a given move's participation. These can be set to whatever you like and only serve as visual aids for your specific trading style.
It's worth noting that the linear regression oscillates when plotted directionally, which can help clarify short term move exhaustion and continuation. Akin to a relative strength index (RSI), it may be used to inform a trading decision, but it should not be the only factor.
2024 - Median High-Low % Change - Monthly, Weekly, DailyDescription:
This indicator provides a statistical overview of Bitcoin's volatility by displaying the median high-to-low percentage changes for monthly, weekly, and daily timeframes. It allows traders to visualize typical price fluctuations within each period, supporting range and volatility-based trading strategies.
How It Works:
Calculation of High-Low % Change: For each selected timeframe (monthly, weekly, and daily), the script calculates the percentage change from the high to the low price within the period.
Median Calculation: The median of these high-to-low changes is determined for each timeframe, offering a robust central measure that minimizes the impact of extreme price swings.
Table Display: At the end of the chart, the script displays a table in the top-right corner with the median values for each selected timeframe. This table is updated dynamically to show the latest data.
Usage Notes:
This script includes input options to toggle the visibility of each timeframe (monthly, weekly, and daily) in the table.
Designed to be used with Bitcoin on daily and higher timeframes for accurate statistical insights.
Ideal for traders looking to understand Bitcoin's typical volatility and adjust their strategies accordingly.
This indicator does not provide specific buy or sell signals but serves as an analytical tool for understanding volatility patterns.
David_candle length with average and candle directionThis indicator,
calculates the difference between the highest and lowest price (High-Low difference) for a specified number of periods and displays it in a table. Here are the functions and details included:
Number of Periods: The user can define the number of periods (e.g., 10) for which the High-Low differences are calculated.
Table Position: The position of the table that displays the results can be selected by the user (top left, top right, bottom left, or bottom right).
High-Low Difference per Candle: For each defined period, the difference between the highest and lowest price of the respective candle is calculated.
Candle Direction: The color of the displayed text in the table changes based on the candle direction:
Green for bullish candles (close price higher than open price).
Red for bearish candles (close price lower than open price).
White for neutral candles (close price equal to open price).
Average: Below the High-Low differences, the average value of the calculated differences is displayed in yellow text.
This indicator is useful for visually analyzing the volatility and movement range within the recent candles by highlighting the average High-Low difference.
Earning, Sales, and PriceThis Pine Script indicator is designed to visualize and analyze the growth of Earnings Per Share (EPS) and Sales for a given stock over specified time periods. With a user-friendly interface, it allows traders and investors to monitor key financial metrics, helping them make informed decisions based on company performance.
The script presents earnings, sales, and price growth in a clear tabular format directly on the price chart. It features two distinct tables: one for annual data and another for quarterly metrics. For each financial metric, the script calculates and displays growth figures by comparing the current results with either the previous quarter's numbers or the previous year's figures. Additionally, it showcases the stock price along with the corresponding growth between these two data points, providing a comprehensive view of the stock's performance over time.
How to Use:
Typically, growth stocks will rally for a few quarters. However, after significant rallies, the stock needs rest. During this period, the stock will either consolidate or slide down slowly to take support at the key moving average. Importantly, during this time, sales and earnings may continue to grow while the stock is still consolidating.
Typically, after the stock consolidates significantly—even when sales and earnings numbers are increasing—the stock will finally start the next leg of the rally just before the next earnings date or immediately after the earnings report.
For this purpose, the script shows the EPS and sales growth. Additionally, the script displays the price when the previous earnings were declared along with the price growth. This data can be used to find patterns in the stock's behavior. Utilize this indicator to analyze growth patterns and make informed trading decisions based on historical performance and upcoming earnings expectations.
Key Metrics Analyzed:
Earnings Per Share (EPS): Monitors the diluted earnings per share to evaluate company profitability.
Total Revenue: Analyzes sales performance, providing insights into overall revenue generation.
Price Growth: Tracks changes in stock price alongside EPS and sales for comprehensive performance assessment.
Usage:
Ideal for investors and traders looking to evaluate company growth potential and make data-driven decisions.
Use in conjunction with other technical analysis tools for a holistic approach to stock analysis.